1. 조건문 분해하기
- 코드를 읽는 사람이 이해하기 쉽게 복잡한 조건문의 로직을 함수로 분리한다.
- 거대한 조건문 블록에서 부위별로 분해한 다음, 해체된 코드 덩어리들을 각 덩어리의 의도를 살린 이름의 함수 호출로 변경한다.
절차
- 조건식과 조건절을 각각 함수로 추출
예시 코드
😞 Before
if (!aDate.isBefore(plan.summerStart) && !aDate.isAfter(plan.summerEnd)) {
charge = quantity * plan.summerRate
} else {
charge = quantity * plan.regularRate + plan.regularServiceCharge
}
😃 After
// 삼항연산자 활용
charge = summer() ? summerCharge() : regularCharge()
논의사항
- 삼항연산자 활용하는것 의견
- 네이밍 관련: isValue, isValue(), setIsValue() ...
- 클린 코드 발췌